package com.kakame.tibbers.front.controller.user;

import com.jfinal.aop.Duang;
import com.jfinal.core.Controller;
import com.kakame.tibbers.common.constants.Tibbers;
import com.kakame.tibbers.common.models.AuthUser;
import com.kakame.tibbers.common.utils.AesUtil;
import com.kakame.tibbers.common.vo.AjaxResult;
import com.kakame.tibbers.service.auth.UserService;

public class UserController extends Controller {
	
	private UserService userService = Duang.duang(UserService.class);
	
	/**
	 * 个人资料页面
	 * @author 何家明
	 * @date   2018年11月23日 下午9:00:51
	 */
	public void center() {
		String userId = getPara();
		AuthUser user = AuthUser.dao.findById(userId);
		setAttr("user", user);
		renderTemplate("center.html");
	}
	
	/**
	 * 到登录页面
	 * @auth 何家明
	 * @date 2018年11月23日 下午4:24:37
	 */
	public void tlogin() {
		setAttr("lastPath", AesUtil.fastDeCrypt(getPara()));
		renderTemplate("login.html");
	}
	/**
	 * 登录
	 * @auth 何家明
	 * @date 2018年11月23日 下午4:58:08
	 */
	public void login() {
		AjaxResult result = new AjaxResult();
		
		AuthUser sysUser = getModel(AuthUser.class);
		AuthUser user = userService.login(sysUser);
		if(user != null) {
			setSessionAttr(Tibbers.SESSION_USER, user);
			result.setSuccess(true);
		} else {
			result.setSuccess(false);
			result.setMsg("账号或密码错误");
		}
		
		renderJson(result);
	}
	/**
	 * 登出
	 * @author 何家明
	 * @date   2018年11月23日 下午8:57:48
	 */
	public void logout() {
		removeSessionAttr(Tibbers.SESSION_USER);
		redirect("/");
	}
	/**
	 * 到注册页面
	 * @auth 何家明
	 * @date 2018年11月23日 下午4:24:44
	 */
	public void treg() {
		renderTemplate("reg.html");
	}
	/**
	 * 注册
	 * @auth 何家明
	 * @date 2018年11月23日 下午4:48:28
	 */
	public void reg() {
		AuthUser sysUser = getModel(AuthUser.class);
		userService.reg(sysUser);
		redirect("/");
	}
}
